home *** CD-ROM | disk | FTP | other *** search
- ! .MACRO SUM FROM=0, TO=9
- ! ; \FROM \TO
- ! MOV R\FROM,R10
- !COUNT .ASSIGNA \FROM+1
- ! .AWHILE \&COUNT LE \TO
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! .ENDM
- !
-
- ! SUM 0,5
- ! ; 0 5
- ; 0 5
- ! MOV R0,R10
- MOV R0,R10
- !COUNT .ASSIGNA 0+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R1,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R2,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R3,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R4,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R5,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! SUM TO=5
- ! ; 0 5
- ; 0 5
- ! MOV R0,R10
- MOV R0,R10
- !COUNT .ASSIGNA 0+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R1,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R2,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R3,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R4,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R5,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! SUM FROM=2, TO=5
- ! ; 2 5
- ; 2 5
- ! MOV R2,R10
- MOV R2,R10
- !COUNT .ASSIGNA 2+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R3,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R4,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- ! MOV R\&COUNT,R10
- MOV R5,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AWHILE \&COUNT LE 5
- ! MOV R\&COUNT,R10
- !COUNT .ASSIGNA \&COUNT+1
- ! .AENDW
- !
-
- !
-
- !; hi this is a comment
- ; hi this is a comment
- ! .MACRO BACK_SLASH_SET
- ! \(MOV #"\",R0)
- ! .ENDM
- ! BACK_SLASH_SET
- ! MOV #"\",R0
- MOV #"\",R0
- ! .MACRO COMM
- ! bar ; this comment will get copied out
- ! foo \; this one will get dropped
- ! .ENDM
- ! COMM
- ! bar ; this comment will get copied out
- bar ; this comment will get copied out
- ! foo \; this one will get dropped
- foo \; this one will get dropped
- ! BACK_SLASH_SET
- ! MOV #"\",R0
- MOV #"\",R0
- ! .MACRO PLUS2
- ! ADD #1,R\&V1
- ! .SDATA "\&V'1"
- ! .ENDM
- !V .ASSIGNC "R"
- !V1 .ASSIGNA 1
- ! PLUS2
- ! ADD #1,R\&V1
- ADD #1,R1
- ! .SDATA "\&V'1"
- .byte 82,49
- ! .MACRO PLUS1 P,P1
- ! ADD #1,\P1
- ! .SDATA "\P'1"
- ! .ENDM
- ! PLUS1 R,R1
- ! ADD #1,R1
- ADD #1,R1
- ! .SDATA "R1"
- .byte 82,49
- !
-
- ! .MACRO SUM P1
- ! MOV R0,R10
- ! ADD R1,R10
- ! ADD R2,R10
- ! \P1
- ! ADD R3,R10
- ! .ENDM
- !
-
- ! SUM .EXITM
- ! MOV R0,R10
- MOV R0,R10
- ! ADD R1,R10
- ADD R1,R10
- ! ADD R2,R10
- ADD R2,R10
- ! .EXITM
- !
-
- ! .MACRO foo bar=a default=b
- ! \bar
- ! \default
- ! bar
- ! default
- ! .ENDM
- ! foo default=dog bar=cat
- ! cat
- cat
- ! dog
- dog
- ! bar
- bar
- ! default
- default
- ! foo X Y
- ! X
- X
- ! Y
- Y
- ! bar
- bar
- ! default
- default
- ! foo
- ! a
- a
- ! b
- b
- ! bar
- bar
- ! default
- default
- ! foo bar=cat default=dog
- ! cat
- cat
- ! dog
- dog
- ! bar
- bar
- ! default
- default
- !
-
- !
-
- ! .MACRO foo bar
- ! HI
- ! HI \bar
- ! HI
- ! .ENDM
- !
-
- ! foo 1
- ! HI
- HI
- ! HI 1
- HI 1
- ! HI
- HI
- ! foo 123
- ! HI
- HI
- ! HI 123
- HI 123
- ! HI
- HI
- ! foo 1 2 3 4
- ! foo
- ! HI
- HI
- ! HI
- HI
- ! HI
- HI
- !
-
- !
- ! .MACRO PUSH Rn
- ! MOV.L \Rn,@-r15
- ! .ENDM
- ! PUSH R0
- ! MOV.L R0,@-r15
- MOV.L R0,@-r15
- ! PUSH R1
- ! MOV.L R1,@-r15
- MOV.L R1,@-r15
- !
-
- !
-
- ! .MACRO RES_STR STR, Rn
- ! MOV.L #str\@,\Rn
- ! BRA end_str\@
- ! NOP
- !str\@ .SDATA "\STR"
- ! .ALIGN 2
- !end_str\@
- ! .ENDM
- !
- ! RES_STR "ONE",R0
- ! MOV.L #str00018,R0
- MOV.L #str00018,R0
- ! BRA end_str00018
- BRA end_str00018
- ! NOP
- NOP
- !str00018 .SDATA "ONE"
- str00018: .byte 79,78,69
- ! .ALIGN 2
- .align 2
- !end_str00018
- end_str00018:
- ! RES_STR "TWO",R1
- ! MOV.L #str00019,R1
- MOV.L #str00019,R1
- ! BRA end_str00019
- BRA end_str00019
- ! NOP
- NOP
- !str00019 .SDATA "TWO"
- str00019: .byte 84,87,79
- ! .ALIGN 2
- .align 2
- !end_str00019
- end_str00019:
- ! RES_STR "THREE",R2
- ! MOV.L #str00020,R2
- MOV.L #str00020,R2
- ! BRA end_str00020
- BRA end_str00020
- ! NOP
- NOP
- !str00020 .SDATA "THREE"
- str00020: .byte 84,72,82,69,69
- ! .ALIGN 2
- .align 2
- !end_str00020
- end_str00020:
- !
-
- !
-
- !
-
- ! RES_STR STR=donkey Rn=R1
- ! MOV.L #str00021,R1
- MOV.L #str00021,R1
- ! BRA end_str00021
- BRA end_str00021
- ! NOP
- NOP
- !str00021 .SDATA "donkey"
- str00021: .byte 100,111,110,107,101,121
- ! .ALIGN 2
- .align 2
- !end_str00021
- end_str00021:
- ! RES_STR donkey,R1
- ! MOV.L #str00022,R1
- MOV.L #str00022,R1
- ! BRA end_str00022
- BRA end_str00022
- ! NOP
- NOP
- !str00022 .SDATA "donkey"
- str00022: .byte 100,111,110,107,101,121
- ! .ALIGN 2
- .align 2
- !end_str00022
- end_str00022:
- ! RES_STR donkey Rn=R1
- ! .END
-